[id].vue 57 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229
  1. <template>
  2. <div>
  3. <!-- 页面头部 -->
  4. <HomePageHead></HomePageHead>
  5. <!-- 页面导航 -->
  6. <HomePageNavigation></HomePageNavigation>
  7. <!-- 二级标题-->
  8. <HomeSecondaryHeading :titleName="routeName" :titleData="pageData"></HomeSecondaryHeading>
  9. <!-- {{ name }} -->
  10. <!-- 第一层 -->
  11. <div class="farmingPartOne" v-if="pageData.length>=1">
  12. <div class="inner">
  13. <div class="innerLeft" v-if="pageData.length>=1">
  14. <div class="title">
  15. <h3>
  16. <NuxtLink :to="{ path: `/newsList/${pageData[0].cid}`}" v-if="pageData[0]" :title="pageData[0].alias">
  17. {{ pageData[0].alias }}
  18. </NuxtLink>
  19. <span>
  20. <NuxtLink
  21. :to="{ path: `/newsList/${pageData[0].cid}`}"
  22. v-if="pageData[0]" :title="pageData[0].title">查看更多</NuxtLink>
  23. </span>
  24. </h3>
  25. </div>
  26. <div class="leftTop">
  27. <div class="leftTopPhoto left" >
  28. <NuxtLink :to="item.linkurl" v-if="pageData[0].data[0]&&pageData[0].data[0].islink==1" :title="pageData[0].data[0].title">
  29. <img :src="pageData[0].data[0].imgurl" :alt="pageData[0].data[0].title">
  30. <span>{{pageData[0].data[0].title }}</span>
  31. </NuxtLink>
  32. <NuxtLink :to="{ path: `/newsDetail/${pageData[0].data[0].id}`, query: { listId: routeId, listName: routeName } }"
  33. v-if="pageData[0].data[0]&&pageData[0].data[0].islink==0" :title="pageData[0].data[0].title">
  34. <img :src="pageData[0].data[0].imgurl" :alt="pageData[0].data[0].title">
  35. <span>{{pageData[0].data[0].title}}</span>
  36. </NuxtLink>
  37. </div>
  38. <ul class="left">
  39. <li v-for="item in pageData[0].data3">
  40. <em></em>
  41. <span>
  42. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  43. <NuxtLink
  44. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  45. v-if="item.islink==0" :title="item.title">{{ item.title }}
  46. </NuxtLink>
  47. </span>
  48. </li>
  49. </ul>
  50. </div>
  51. <ul class="leftBottom" v-if="pageData[0]">
  52. <li v-for="item in pageData[0].data2">
  53. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  54. <img :src="item.imgurl" :alt="item.title">
  55. </NuxtLink>
  56. <NuxtLink
  57. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  58. v-if="item.islink==0" :title="item.title">
  59. <img :src="item.imgurl" :alt="item.title">
  60. </NuxtLink>
  61. <p>
  62. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  63. <NuxtLink
  64. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  65. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  66. </p>
  67. </li>
  68. </ul>
  69. </div>
  70. <div class="innerRight" v-if="pageData.length>=2">
  71. <div class="title">
  72. <h3>
  73. <NuxtLink :to="{ path: `/newsList/${pageData[1].cid}`}" v-if="pageData[1]" :title="pageData[1].alias">
  74. {{ pageData[1].alias }}
  75. </NuxtLink>
  76. <span>
  77. <NuxtLink
  78. :to="{ path: `/newsList/${pageData[1].cid}`}"
  79. v-if="pageData[1]" :title="pageData[1].title">查看更多</NuxtLink>
  80. </span>
  81. </h3>
  82. </div>
  83. <ul class="rightList">
  84. <li v-for="item in pageData[1].data">
  85. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  86. <NuxtLink
  87. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  88. v-if="item.islink==0" :title="item.title">
  89. <img class="left" :src="item.imgurl" :alt="item.title">
  90. </NuxtLink>
  91. <p class="left">
  92. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  93. <NuxtLink
  94. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  95. v-if="item.islink==0" :title="item.title">
  96. {{ item.title }}
  97. </NuxtLink>
  98. </p>
  99. </li>
  100. </ul>
  101. </div>
  102. </div>
  103. </div>
  104. <!-- 三农资讯logo -->
  105. <HomeTopTen :imgurl="adList[0]" v-if="adList[0]"></HomeTopTen>
  106. <!-- 第二层 -->
  107. <div class="farmingPartTwo" v-if="pageData.length>=3">
  108. <div class="inner">
  109. <div class="farmer" v-if="pageData.length>=3">
  110. <div class="title">
  111. <h3>
  112. <NuxtLink :to="{ path: `/newsList/${pageData[2].cid}`}" v-if="pageData[2]" :title="pageData[2].alias">
  113. {{ pageData[2].alias }}
  114. </NuxtLink>
  115. <span>
  116. <NuxtLink
  117. :to="{ path: `/newsList/${pageData[2].cid}`, query: { catid: pageData[2].cid } }"
  118. v-if="pageData[2]" :title="pageData[2].title">查看更多</NuxtLink>
  119. </span>
  120. </h3>
  121. </div>
  122. <div class="PartTwoPhoto" v-if="pageData[2].data[0]">
  123. <NuxtLink :to="item.linkurl" v-if="pageData[2].data[0].islink==1" :title="pageData[2].data[0].title">
  124. <img :src="pageData[2].data[0].imgurl" :alt="pageData[2].data[0].title">
  125. <span>{{ pageData[2].data[0].title }}</span>
  126. </NuxtLink>
  127. <NuxtLink
  128. :to="{ path: `/newsDetail/${pageData[2].data[0].id}`, query: { listId: routeId, listName: routeName } }"
  129. v-if="pageData[2].data[0].islink==0" :title="pageData[2].data[0].title">
  130. <img :src="pageData[2].data[0].imgurl" :alt="pageData[2].data[0].title">
  131. <span>{{ pageData[2].data[0].title }}</span>
  132. </NuxtLink>
  133. </div>
  134. <ul class="PartTwoList">
  135. <li v-for="item in pageData[2].data2">
  136. <em></em>
  137. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  138. <NuxtLink
  139. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  140. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  141. </li>
  142. </ul>
  143. </div>
  144. <div class="farmer" v-if="pageData.length>=4">
  145. <div class="title">
  146. <h3>
  147. <NuxtLink :to="{ path: `/newsList/${pageData[3].cid}`}" v-if="pageData[3]" :title="pageData[3].alias">
  148. {{ pageData[3].alias }}
  149. </NuxtLink>
  150. <span>
  151. <NuxtLink
  152. :to="{ path: `/newsList/${pageData[3].cid}`, query: { catid: pageData[3].cid } }"
  153. v-if="pageData[3]" :title="pageData[3].title">查看更多</NuxtLink>
  154. </span>
  155. </h3>
  156. </div>
  157. <div class="PartTwoPhoto" v-if="pageData[3].data[0]">
  158. <NuxtLink :to="item.linkurl" v-if="pageData[3].data[0].islink==1" :title="pageData[3].data[0].title">
  159. <img :src="pageData[3].data[0].imgurl" :alt="pageData[3].data[0].title">
  160. <span>{{ pageData[3].data[0].title }}</span>
  161. </NuxtLink>
  162. <NuxtLink
  163. :to="{ path: `/newsDetail/${pageData[3].data[0].id}`, query: { listId: routeId, listName: routeName } }"
  164. v-if="pageData[3].data[0].islink==0" :title="pageData[3].data[0].title">
  165. <img :src="pageData[3].data[0].imgurl" :alt="pageData[3].data[0].title">
  166. <span>{{ pageData[3].data[0].title }}</span>
  167. </NuxtLink>
  168. </div>
  169. <ul class="PartTwoList">
  170. <li v-for="item in pageData[3].data2">
  171. <em></em>
  172. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  173. <NuxtLink
  174. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  175. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  176. </li>
  177. </ul>
  178. </div>
  179. <div class="farmer" v-if="pageData.length>=5">
  180. <div class="title">
  181. <h3>
  182. <NuxtLink :to="{ path: `/newsList/${pageData[4].cid}`}" v-if="pageData[4]" :title="pageData[4].alias">
  183. {{ pageData[4].alias }}
  184. </NuxtLink>
  185. <span>
  186. <NuxtLink
  187. :to="{ path: `/newsList/${pageData[4].cid}`, query: { catid: pageData[4].cid } }"
  188. v-if="pageData[4]" :title="pageData[4].title">查看更多</NuxtLink>
  189. </span>
  190. </h3>
  191. </div>
  192. <div class="PartTwoPhoto" v-if="pageData[4].data[0]">
  193. <NuxtLink :to="item.linkurl" v-if="pageData[4].data[0].islink==1" :title="pageData[4].data[0].title">
  194. <img :src="pageData[4].data[0].imgurl" :alt="pageData[4].data[0].title">
  195. <span>{{ pageData[4].data[0].title }}</span>
  196. </NuxtLink>
  197. <NuxtLink
  198. :to="{ path: `/newsDetail/${pageData[4].data[0].id}`, query: { listId: routeId, listName: routeName } }"
  199. v-if="pageData[4].data[0].islink==0" :title="pageData[4].data[0].title">
  200. <img :src="pageData[4].data[0].imgurl" :alt="pageData[4].data[0].title">
  201. <span>{{ pageData[4].data[0].title }}</span>
  202. </NuxtLink>
  203. </div>
  204. <ul class="PartTwoList">
  205. <li v-for="item in pageData[4].data2">
  206. <em></em>
  207. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  208. <NuxtLink
  209. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  210. v-if="item.islink==0" :title="item.title">
  211. {{ item.title }}
  212. </NuxtLink>
  213. </li>
  214. </ul>
  215. </div>
  216. </div>
  217. </div>
  218. <!-- 三农资讯logo -->
  219. <HomeTopTen :imgurl="adList[1]" v-if="adList[1]"></HomeTopTen>
  220. <!-- 第三层 -->
  221. <div class="zixuntuijian" v-if="pageData.length>=6">
  222. <div class="inner">
  223. <div class="innerLeft" >
  224. <div class="zixunTop">
  225. <div class="zixunLeft" v-if="pageData.length>=6">
  226. <div class="title">
  227. <h3>
  228. <NuxtLink :to="{ path: `/newsList/${pageData[5].cid}`}" v-if="pageData[5]" :title="pageData[5].alias">
  229. {{ pageData[5].alias }}
  230. </NuxtLink>
  231. <span>
  232. <NuxtLink
  233. :to="{ path: `/newsList/${pageData[5].cid}`, query: { catid: pageData[5].cid } }"
  234. v-if="pageData[5]" :title="pageData[5].title">查看更多</NuxtLink>
  235. </span>
  236. </h3>
  237. </div>
  238. <ul class="photo_text">
  239. <li v-for="item in pageData[5].data">
  240. <article>
  241. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  242. <img :src="item.imgurl" :alt="item.title">
  243. </NuxtLink>
  244. <NuxtLink
  245. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  246. v-if="item.islink==0" :title="item.title">
  247. <img :src="item.imgurl" :alt="item.title">
  248. </NuxtLink>
  249. <div>
  250. <h5>
  251. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  252. <NuxtLink
  253. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  254. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  255. </h5>
  256. <p>
  257. <span>{{ item.author }}</span>
  258. <span>{{ getTime(item.updated_at,'month',1) }}</span>
  259. </p>
  260. </div>
  261. </article>
  262. </li>
  263. <li v-for="item in pageData[5].data2">
  264. <article>
  265. <em></em>
  266. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  267. <NuxtLink
  268. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  269. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  270. </article>
  271. </li>
  272. </ul>
  273. </div>
  274. <div class="zixunRight" v-if="pageData.length>=7">
  275. <div class="title">
  276. <h3>
  277. <NuxtLink :to="{ path: `/newsList/${pageData[6].cid}`}" v-if="pageData[6]" :title="pageData[6].alias">
  278. {{ pageData[6].alias }}
  279. </NuxtLink>
  280. <span>
  281. <NuxtLink
  282. :to="{ path: `/newsList/${pageData[6].cid}`, query: { catid: pageData[6].cid } }"
  283. v-if="pageData[6]" :title="pageData[6].title">查看更多</NuxtLink>
  284. </span>
  285. </h3>
  286. </div>
  287. <div class="towPic">
  288. <div v-for="item in pageData[6].data" class="picBox">
  289. <div>
  290. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  291. <img :src="item.imgurl" :alt="item.title">
  292. </NuxtLink>
  293. <NuxtLink
  294. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  295. v-if="item.islink==0" :title="item.title">
  296. <img :src="item.imgurl" :alt="item.title">
  297. </NuxtLink>
  298. </div>
  299. </div>
  300. </div>
  301. <ul class="photo_text">
  302. <li v-for="item in pageData[6].data2">
  303. <article>
  304. <em></em>
  305. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  306. <NuxtLink
  307. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  308. v-if="item.islink==0" :title="item.title">{{ item.title }}
  309. </NuxtLink>
  310. </article>
  311. </li>
  312. </ul>
  313. </div>
  314. </div>
  315. <div class="zixunBottom" v-if="pageData[7]">
  316. <img class="left" :src="pageData[7].data[0].imgurl" :alt="pageData[7].data[0].title"
  317. v-if="pageData[7].data[0] && hoverStatus == 0">
  318. <img class="left" :src="pageData[7].data[1].imgurl" :alt="pageData[7].data[1].title"
  319. v-if="pageData[7].data[1] && hoverStatus == 1">
  320. <img class="left" :src="pageData[7].data[2].imgurl" :alt="pageData[7].data[2].title"
  321. v-if="pageData[7].data[2] && hoverStatus == 2">
  322. <img class="left" :src="pageData[7].data[3].imgurl" :alt="pageData[7].data[3].title"
  323. v-if="pageData[7].data[3] && hoverStatus == 3">
  324. <img class="left" :src="pageData[7].data[4].imgurl" :alt="pageData[7].data[4].title"
  325. v-if="pageData[7].data[4] && hoverStatus == 4">
  326. <img class="left" :src="pageData[7].data[5].imgurl" :alt="pageData[7].data[5].title"
  327. v-if="pageData[7].data[5] && hoverStatus == 5">
  328. <ul class="leftList left">
  329. <li v-for="(item, index) in pageData[7].data" @mouseenter="qhPic(index)">
  330. <h4>
  331. <em></em>
  332. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  333. <NuxtLink
  334. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  335. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  336. </h4>
  337. </li>
  338. </ul>
  339. </div>
  340. </div>
  341. <div class="innerRight" v-if="pageData.length>=9">
  342. <div class="title">
  343. <h3>
  344. <NuxtLink :to="{ path: `/newsList/${pageData[8].cid}`}" v-if="pageData[8]" :title="pageData[8].alias">
  345. {{ pageData[8].alias }}
  346. </NuxtLink>
  347. <span>
  348. <NuxtLink
  349. :to="{ path: `/newsList/${pageData[8].cid}`, query: { catid: pageData[8].cid } }"
  350. v-if="pageData[8]" :title="pageData[8].title">查看更多</NuxtLink>
  351. </span>
  352. </h3>
  353. </div>
  354. <ul class="information">
  355. <li v-for="item in pageData[8].data">
  356. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  357. <img :src="item.imgurl" :alt="item.title">
  358. </NuxtLink>
  359. <NuxtLink
  360. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  361. v-if="item.islink==0" :title="item.title">
  362. <img :src="item.imgurl" :alt="item.title">
  363. </NuxtLink>
  364. <div class="text">
  365. <h5>
  366. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  367. <NuxtLink :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }" v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  368. </h5>
  369. <p>{{ item.author }}</p>
  370. </div>
  371. </li>
  372. </ul>
  373. </div>
  374. </div>
  375. </div>
  376. <HomeTopTen :imgurl="adList[2]" v-if="adList[2]"></HomeTopTen>
  377. <div class="farming" v-if="pageData.length>=10">
  378. <div class="inner">
  379. <div class="innerLeft">
  380. <div class="farmer" v-if="pageData.length>=10">
  381. <h3>
  382. <NuxtLink :to="{ path: `/newsList/${pageData[9].cid}`}" v-if="pageData[9]" :title="pageData[9].alias">
  383. {{ pageData[9].alias }}
  384. </NuxtLink>
  385. <span>
  386. <NuxtLink
  387. :to="{ path: `/newsList/${pageData[9].cid}`, query: { catid: pageData[9].cid } }"
  388. v-if="pageData[9]" :title="pageData[9].title">查看更多</NuxtLink>
  389. </span>
  390. </h3>
  391. <ul>
  392. <li v-for="item in pageData[9].data">
  393. <em></em>
  394. <span>
  395. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  396. <NuxtLink
  397. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  398. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  399. </span>
  400. </li>
  401. </ul>
  402. </div>
  403. <div class="farmer" v-if="pageData.length>=11">
  404. <h3>
  405. <NuxtLink :to="{ path: `/newsList/${pageData[10].cid}`}" v-if="pageData[10]" :title="pageData[10].alias">
  406. {{ pageData[10].alias }}
  407. </NuxtLink>
  408. <span>
  409. <NuxtLink
  410. :to="{ path: `/newsList/${pageData[10].cid}`, query: { catid: pageData[10].cid } }"
  411. v-if="pageData[10]" :title="pageData[10].title">查看更多</NuxtLink>
  412. </span>
  413. </h3>
  414. <ul>
  415. <li v-for="item in pageData[10].data">
  416. <em></em>
  417. <span>
  418. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  419. <NuxtLink
  420. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  421. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  422. </span>
  423. </li>
  424. </ul>
  425. </div>
  426. </div>
  427. <div class="innerRight" v-if="pageData.length>=12">
  428. <h3>
  429. <NuxtLink :to="{ path: `/newsList/${pageData[11].cid}`}" v-if="pageData[11]" :title="pageData[11].alias">
  430. {{ pageData[11].alias }}
  431. </NuxtLink>
  432. <span>
  433. <NuxtLink
  434. :to="{ path: `/newsList/${pageData[11].cid}`, query: { catid: pageData[11].cid } }"
  435. v-if="pageData[11]" :title="pageData[11].title">查看更多</NuxtLink>
  436. </span>
  437. </h3>
  438. <div class="banner">
  439. <HomeSmallSwiper :swiperData="pageData[11].data"></HomeSmallSwiper>
  440. </div>
  441. <div class="banner_b_img">
  442. <div class="photo">
  443. <article v-for="(item, index) in pageData[11].data2">
  444. <div class="photoL" v-if="index == 0">
  445. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  446. <img :src="item.imgurl" :alt="item.title">
  447. <span>{{ item.title }}</span>
  448. </NuxtLink>
  449. <NuxtLink
  450. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  451. v-if="item.islink==0" :title="item.title">
  452. <img :src="item.imgurl" :alt="item.title">
  453. <span>{{ item.title }}</span>
  454. </NuxtLink>
  455. </div>
  456. <div class="photoL" v-if="index == 1">
  457. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  458. <img :src="item.imgurl" :alt="item.title">
  459. <span>{{ item.title }}</span>
  460. </NuxtLink>
  461. <NuxtLink
  462. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  463. v-if="item.islink==0" :title="item.title">
  464. <img :src="item.imgurl" :alt="item.title">
  465. <span>{{ item.title }}</span>
  466. </NuxtLink>
  467. </div>
  468. </article>
  469. </div>
  470. </div>
  471. <div class="banner_text_list">
  472. <ul>
  473. <li v-for="item in pageData[11].data3">
  474. <em></em>
  475. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  476. <span>{{ item.title }}</span>
  477. </NuxtLink>
  478. <NuxtLink
  479. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  480. v-if="item.islink==0" :title="item.title">
  481. <span>{{ item.title }}</span>
  482. </NuxtLink>
  483. </li>
  484. </ul>
  485. </div>
  486. </div>
  487. </div>
  488. </div>
  489. <!-- 十强称号logo -->
  490. <HomeTopTen :imgurl="adList[3]" v-if="adList[3]"></HomeTopTen>
  491. <!-- 第五层 -->
  492. <div class="scienceEducation" v-if="pageData.length>=13">
  493. <div class="inner">
  494. <div class="innerLeft" v-if="pageData.length>=13">
  495. <div class="slider">
  496. <div class="scienceTitle">
  497. <h5>
  498. <NuxtLink :to="{ path: `/newsList/${pageData[12].cid}`}" v-if="pageData[12]" :title="pageData[12].title">
  499. {{ pageData[12].title }}
  500. </NuxtLink>
  501. </h5>
  502. <p class="title">
  503. <span v-if="pageData[12]" @click="qhtabs(1)">
  504. <b v-if="showTabs == 1" class="active">{{ pageData[12].title1 }}</b>
  505. <b v-else class="noSelect">{{ pageData[12].title1 }}</b>
  506. </span>
  507. <span v-if="pageData[12]" @click="qhtabs(2)">
  508. <b v-if="showTabs == 2" class="active">{{ pageData[12].title2 }}</b>
  509. <b v-else class="noSelect">{{ pageData[12].title2 }}</b>
  510. </span>
  511. <span v-if="pageData[12]" @click="qhtabs(3)">
  512. <b v-if="showTabs == 3" class="active">{{ pageData[12].title3 }}</b>
  513. <b v-else class="noSelect">{{ pageData[12].title3 }}</b>
  514. </span>
  515. <span v-if="pageData[12]" @click="qhtabs(4)">
  516. <b v-if="showTabs == 4" class="active">{{ pageData[12].title4 }}</b>
  517. <b v-else class="noSelect">{{ pageData[12].title4 }}</b>
  518. </span>
  519. </p>
  520. </div>
  521. <div class="box">
  522. <div class="scienceListBox">
  523. <ul class="scienceList" v-if="showTabs == 1">
  524. <li v-for="item in pageData[12].data1">
  525. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title"><img :src="item.imgurl" :alt="item.title"></NuxtLink>
  526. <NuxtLink
  527. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  528. v-if="item.islink==0" :title="item.title"><img :src="item.imgurl" :alt="item.title"></NuxtLink>
  529. <p>
  530. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  531. <NuxtLink
  532. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  533. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  534. </p>
  535. </li>
  536. </ul>
  537. <ul class="scienceList" v-if="showTabs == 2">
  538. <li v-for="item in pageData[12].data2">
  539. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title"><img :src="item.imgurl" :alt="item.title"></NuxtLink>
  540. <NuxtLink
  541. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  542. v-if="item.islink==0" :title="item.title"><img :src="item.imgurl" :alt="item.title"></NuxtLink>
  543. <p>
  544. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  545. <NuxtLink
  546. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  547. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  548. </p>
  549. </li>
  550. </ul>
  551. <ul class="scienceList" v-if="showTabs == 3">
  552. <li v-for="item in pageData[12].data3">
  553. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title"><img :src="item.imgurl" :alt="item.title"></NuxtLink>
  554. <NuxtLink
  555. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  556. v-if="item.islink==0" :title="item.title"><img :src="item.imgurl" :alt="item.title"></NuxtLink>
  557. <p>
  558. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  559. <NuxtLink
  560. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  561. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  562. </p>
  563. </li>
  564. </ul>
  565. <ul class="scienceList" v-if="showTabs == 4">
  566. <li v-for="item in pageData[12].data4">
  567. <img :src="item.imgurl" :alt="item.title">
  568. <p>
  569. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  570. <NuxtLink
  571. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  572. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  573. </p>
  574. </li>
  575. </ul>
  576. </div>
  577. </div>
  578. </div>
  579. </div>
  580. <div class="innerRight" v-if="pageData.length>=14">
  581. <h3>
  582. <NuxtLink :to="{ path: `/newsList/${pageData[13].cid}`}" v-if="pageData[13]" :title="pageData[13].alias">
  583. {{ pageData[13].alias }}
  584. </NuxtLink>
  585. <span>
  586. <NuxtLink
  587. :to="{ path: `/newsList/${pageData[13].cid}`, query: { catid: pageData[13].cid } }"
  588. v-if="pageData[13]" :title="pageData[13].title">查看更多</NuxtLink>
  589. </span>
  590. </h3>
  591. <ul class="sannongList">
  592. <li v-for="item in pageData[13].data3">
  593. <em></em>
  594. <span>
  595. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  596. <NuxtLink
  597. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  598. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  599. </span>
  600. </li>
  601. </ul>
  602. <div class="banner">
  603. <HomeSmallSwiper :swiperData="pageData[13].data"></HomeSmallSwiper>
  604. </div>
  605. <div class="banner_b_img">
  606. <div class="photo">
  607. <article v-for="(item, index) in pageData[13].data2">
  608. <div class="photoL" v-if="index == 0">
  609. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  610. <img :src="item.imgurl" :alt="item.title">
  611. <span>{{ item.title }}</span>
  612. </NuxtLink>
  613. <NuxtLink
  614. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  615. v-if="item.islink==0" :title="item.title">
  616. <img :src="item.imgurl" :alt="item.title">
  617. <span>{{ item.title }}</span>
  618. </NuxtLink>
  619. </div>
  620. <div class="photoL" v-if="index == 1">
  621. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  622. <img :src="item.imgurl" :alt="item.title">
  623. <span>{{ item.title }}</span>
  624. </NuxtLink>
  625. <NuxtLink
  626. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  627. v-if="item.islink==0" :title="item.title">
  628. <img :src="item.imgurl" :alt="item.title">
  629. <span>{{ item.title }}</span>
  630. </NuxtLink>
  631. </div>
  632. </article>
  633. </div>
  634. </div>
  635. </div>
  636. </div>
  637. </div>
  638. <!-- 页脚部分 -->
  639. <HomeFoot1></HomeFoot1>
  640. </div>
  641. </template>
  642. <script setup>
  643. //1.加载页面依赖 start ---------------------------------------->
  644. //获得跳转过来的id
  645. const route = useRoute();
  646. const routeId = route.params.id; //获得该页面的id
  647. const routeName = route.query.name; //获得该页面的名称
  648. //1.加载页面依赖 end ---------------------------------------->
  649. //2.页面交互效果 start ---------------------------------------->
  650. //2.1 新闻图片切换
  651. const hoverStatus = ref(1)
  652. const qhPic = function (num) {
  653. console.log(num)
  654. hoverStatus.value = num;
  655. }
  656. //2.2 选项卡切换
  657. let showTabs = ref(1)
  658. let qhtabs = function (number) {
  659. console.log(number)
  660. showTabs.value = number
  661. }
  662. //2.3 展示广告
  663. const adList = ref([]);
  664. async function getAdData(){
  665. const mkdata = await requestDataPromise('/web/getWebsiteAdvertisement',{method:'GET',query:{'ad_tag':'CATEGORY'}});
  666. if(mkdata.code == 200){
  667. adList.value = mkdata.data;
  668. }else{
  669. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  670. console.log("错误位置:分类页广告")
  671. console.log("后端错误反馈:",mkdata.message)
  672. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  673. }
  674. }
  675. getAdData();
  676. //2.页面交互效果 end ---------------------------------------->
  677. //3.渲染页面数据 start ---------------------------------------->
  678. //3.1 该页面上所有的导航池 转为动态数据
  679. const pageCategory = ref([]);
  680. //3.2 该页面上需要渲染的所有数据
  681. const pageData = ref([
  682. // { id: 0, data: [], data2: [], title: "", cid: "" },
  683. // { id: 1, data: [], title: "", cid: "" },
  684. // { id: 2, data: [], title: "", cid: "" },
  685. // { id: 3, data: [], title: "", cid: "" },
  686. // { id: 4, data: [], title: "", cid: "" },
  687. // { id: 5, data: [], title: "", cid: "" },
  688. // { id: 6, data: [], title: "", cid: "" },
  689. // { id: 7, data: [], title: "", cid: "" },
  690. // { id: 8, data: [], title: "", cid: "" },
  691. // { id: 9, data: [], title: "", cid: "" },
  692. // { id: 10, data: [], title: "", cid: "" },
  693. // { id: 10, data: [], title: "", cid: "" },
  694. // {
  695. // id: 11,
  696. // title: "",
  697. // data: [],
  698. // data1: [],
  699. // data2: [],
  700. // data3: [],
  701. // data4: [],
  702. // category_id1: "",
  703. // category_id2: "",
  704. // category_id3: "",
  705. // category_id4: "",
  706. // title1: "",
  707. // title2: "",
  708. // title3: "",
  709. // title4: "",
  710. // cid: ""
  711. // },
  712. // { id: 12, data1: [], data2: [], data3: [], cid: "" },
  713. ])
  714. const navSize = ref("");
  715. //3.3 获取所有导航
  716. try {
  717. const navigateData = await requestDataPromise('/web/getWebsiteModelCategory', {
  718. method: 'GET',
  719. query: {
  720. 'placeid': 1,
  721. 'pid': routeId,
  722. 'num': 14
  723. },
  724. });
  725. if(navigateData.code == 200){
  726. // 遍历可用的导航池放到页面中
  727. for (let index in navigateData.data) {
  728. let data = {
  729. title: navigateData.data[index].name,
  730. cid: navigateData.data[index].category_id,
  731. children_count: navigateData.data[index].children_count,
  732. alias: navigateData.data[index].alias,
  733. data:[],
  734. data1:[],
  735. data2:[],
  736. data3:[],
  737. data4:[],
  738. category_id1:"",
  739. category_id2:"",
  740. category_id3:"",
  741. category_id4:"",
  742. title1: "",
  743. title2: "",
  744. title3: "",
  745. title4: ""
  746. };
  747. if (navigateData.data[index].is_url == 1) {
  748. // 处理 URL 的逻辑
  749. } else {
  750. pageData.value.push(data);
  751. }
  752. }
  753. //导航池加载完毕,开始申请模块数据
  754. await getPageData1();
  755. await getPageData1_data2();
  756. await getPageData1_data3();
  757. await getPageData2();
  758. await getPageData3();
  759. await getPageData3_data2();
  760. await getPageData4();
  761. await getPageData4_data2();
  762. await getPageData5();
  763. await getPageData5_data2();
  764. await getPageData6();
  765. await getPageData6_data2();
  766. await getPageData7();
  767. await getPageData7_data2();
  768. await getPageData8();
  769. await getPageData9();
  770. await getPageData10();
  771. await getPageData11();
  772. await getPageData12();
  773. await getPageData12_data2();
  774. await getPageData12_data3();
  775. await getPageData13();
  776. if(navSize.value>=1){
  777. await getPageData13_data1();
  778. }
  779. if(navSize.value>=2){
  780. await getPageData13_data2();
  781. }
  782. if(navSize.value>=3){
  783. await getPageData13_data3();
  784. }
  785. if(navSize.value>=4){
  786. await getPageData13_data4();
  787. }
  788. await getPageData14();
  789. await getPageData14_data2();
  790. await getPageData14_data3();
  791. }else{
  792. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  793. console.log("错误位置:分类页导航池")
  794. console.log("后端错误反馈:",navigateData.message)
  795. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  796. }
  797. } catch (error) {
  798. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  799. console.log("错误位置:分类页导航渲染阶段")
  800. console.log("错误:导航池渲染执行接口出错!请检查首页的14的模块的具体执行方法!")
  801. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  802. }
  803. //模块1
  804. async function getPageData1() {
  805. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  806. method: 'GET',
  807. query: {
  808. 'catid': pageData.value[0].cid,
  809. 'level': 3,
  810. 'pagesize': 1
  811. },
  812. });
  813. pageData.value[0].data = mkdata.data;
  814. }
  815. async function getPageData1_data2() {
  816. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  817. method: 'GET',
  818. query: {
  819. 'catid': pageData.value[0].cid,
  820. 'level': 3,
  821. 'pagesize': 4,
  822. 'placeid': 2
  823. },
  824. });
  825. pageData.value[0].data2 = mkdata.data;
  826. }
  827. async function getPageData1_data3() {
  828. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  829. method: 'GET',
  830. query: {
  831. 'catid': pageData.value[0].cid,
  832. 'level': 1,
  833. 'pagesize': 8,
  834. },
  835. });
  836. pageData.value[0].data3 = mkdata.data;
  837. }
  838. //模块2
  839. async function getPageData2() {
  840. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  841. method: 'GET',
  842. query: {
  843. 'catid': pageData.value[1].cid,
  844. 'level': 3,
  845. 'pagesize': 5
  846. },
  847. });
  848. pageData.value[1].data = mkdata.data;
  849. }
  850. //模块3
  851. async function getPageData3() {
  852. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  853. method: 'GET',
  854. query: {
  855. 'catid': pageData.value[2].cid,
  856. 'level': 3,
  857. 'pagesize': 6
  858. },
  859. });
  860. pageData.value[2].data = mkdata.data;
  861. }
  862. async function getPageData3_data2() {
  863. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  864. method: 'GET',
  865. query: {
  866. 'catid': pageData.value[2].cid,
  867. 'level': 1,
  868. 'pagesize': 6
  869. },
  870. });
  871. pageData.value[2].data2 = mkdata.data;
  872. }
  873. //模块4
  874. async function getPageData4() {
  875. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  876. method: 'GET',
  877. query: {
  878. 'catid': pageData.value[3].cid,
  879. 'level': 3,
  880. 'pagesize': 6
  881. },
  882. });
  883. pageData.value[3].data = mkdata.data;
  884. }
  885. async function getPageData4_data2() {
  886. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  887. method: 'GET',
  888. query: {
  889. 'catid': pageData.value[3].cid,
  890. 'level': 1,
  891. 'pagesize': 6
  892. },
  893. });
  894. pageData.value[3].data2 = mkdata.data;
  895. }
  896. //模块5
  897. async function getPageData5() {
  898. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  899. method: 'GET',
  900. query: {
  901. 'catid': pageData.value[4].cid,
  902. 'level': 3,
  903. 'pagesize': 6
  904. },
  905. });
  906. pageData.value[4].data = mkdata.data;
  907. }
  908. async function getPageData5_data2() {
  909. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  910. method: 'GET',
  911. query: {
  912. 'catid': pageData.value[4].cid,
  913. 'level': 1,
  914. 'pagesize': 6
  915. },
  916. });
  917. pageData.value[4].data2 = mkdata.data;
  918. }
  919. //模块6
  920. async function getPageData6() {
  921. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  922. method: 'GET',
  923. query: {
  924. 'catid': pageData.value[5].cid,
  925. 'level': 3,
  926. 'pagesize':1
  927. },
  928. });
  929. pageData.value[5].data = mkdata.data;
  930. }
  931. async function getPageData6_data2() {
  932. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  933. method: 'GET',
  934. query: {
  935. 'catid': pageData.value[5].cid,
  936. 'level': 1,
  937. 'pagesize':3
  938. },
  939. });
  940. pageData.value[5].data2 = mkdata.data;
  941. }
  942. //模块7
  943. async function getPageData7() {
  944. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  945. method: 'GET',
  946. query: {
  947. 'catid': pageData.value[6].cid,
  948. 'level': 3,
  949. 'pagesize': 2
  950. },
  951. });
  952. pageData.value[6].data = mkdata.data;
  953. }
  954. async function getPageData7_data2() {
  955. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  956. method: 'GET',
  957. query: {
  958. 'catid': pageData.value[6].cid,
  959. 'level': 1,
  960. 'pagesize': 3
  961. },
  962. });
  963. pageData.value[6].data2= mkdata.data;
  964. }
  965. //模块8
  966. async function getPageData8() {
  967. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  968. method: 'GET',
  969. query: {
  970. 'catid': pageData.value[7].cid,
  971. 'level': 3,
  972. 'pagesize': 5
  973. },
  974. });
  975. pageData.value[7].data = mkdata.data;
  976. }
  977. //模块9
  978. async function getPageData9() {
  979. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  980. method: 'GET',
  981. query: {
  982. 'catid': pageData.value[8].cid,
  983. 'level': 3,
  984. 'pagesize': 4
  985. },
  986. });
  987. pageData.value[8].data = mkdata.data;
  988. }
  989. //模块10
  990. async function getPageData10() {
  991. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  992. method: 'GET',
  993. query: {
  994. 'catid': pageData.value[9].cid,
  995. 'level': 1,
  996. 'pagesize': 10
  997. },
  998. });
  999. pageData.value[9].data = mkdata.data;
  1000. }
  1001. //模块11
  1002. async function getPageData11() {
  1003. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1004. method: 'GET',
  1005. query: {
  1006. 'catid': pageData.value[10].cid,
  1007. 'level': 1,
  1008. 'pagesize': 10
  1009. },
  1010. });
  1011. pageData.value[10].data = mkdata.data;
  1012. }
  1013. //模块12
  1014. async function getPageData12() {
  1015. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1016. method: 'GET',
  1017. query: {
  1018. 'catid': pageData.value[11].cid,
  1019. 'level': 2,
  1020. 'pagesize': 4
  1021. },
  1022. });
  1023. pageData.value[11].data = mkdata.data;
  1024. }
  1025. async function getPageData12_data2() {
  1026. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1027. method: 'GET',
  1028. query: {
  1029. 'catid': pageData.value[11].cid,
  1030. 'level': 3,
  1031. 'pagesize': 2
  1032. },
  1033. });
  1034. pageData.value[11].data2 = mkdata.data;
  1035. }
  1036. async function getPageData12_data3() {
  1037. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1038. method: 'GET',
  1039. query: {
  1040. 'catid': pageData.value[11].cid,
  1041. 'level': 1,
  1042. 'pagesize': 5
  1043. },
  1044. });
  1045. pageData.value[11].data3 = mkdata.data;
  1046. }
  1047. async function getPageData13() {
  1048. const navData = await requestDataPromise('/web/getWebsiteModelCategory', {
  1049. method: 'GET',
  1050. query: {
  1051. 'pid': pageData.value[12].cid,
  1052. 'placeid': 1,
  1053. 'num': 4
  1054. },
  1055. });
  1056. let mkLength = navData.data.length;
  1057. navSize.value = navData.data.length;
  1058. if(mkLength != 0){
  1059. for (let i = 1; i <= mkLength; i++) {
  1060. if (i == 1) {
  1061. pageData.value[12].title1 = navData.data[0].name;
  1062. pageData.value[12].category_id1 = navData.data[0].category_id;
  1063. }
  1064. if (i == 2) {
  1065. pageData.value[12].title2 = navData.data[1].name;
  1066. pageData.value[12].category_id2 = navData.data[1].category_id;
  1067. }
  1068. if (i == 3) {
  1069. pageData.value[12].title3 = navData.data[2].name;
  1070. pageData.value[12].category_id3 = navData.data[2].category_id;
  1071. }
  1072. if (i == 4) {
  1073. pageData.value[12].title4 = navData.data[3].name;
  1074. pageData.value[12].category_id4 = navData.data[3].category_id;
  1075. }
  1076. }
  1077. }
  1078. }
  1079. async function getPageData13_data1() {
  1080. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1081. method: 'GET',
  1082. query: {
  1083. 'catid': pageData.value[12].category_id1,
  1084. 'level': 3,
  1085. 'pagesize': 6
  1086. },
  1087. });
  1088. pageData.value[12].data1 = mkdata.data;
  1089. }
  1090. async function getPageData13_data2() {
  1091. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1092. method: 'GET',
  1093. query: {
  1094. 'catid': pageData.value[12].category_id2,
  1095. 'level': 3,
  1096. 'pagesize': 6
  1097. },
  1098. });
  1099. pageData.value[12].data2 = mkdata.data;
  1100. }
  1101. async function getPageData13_data3() {
  1102. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1103. method: 'GET',
  1104. query: {
  1105. 'catid': pageData.value[12].category_id3,
  1106. 'level': 3,
  1107. 'pagesize': 6
  1108. },
  1109. });
  1110. pageData.value[12].data3 = mkdata.data;
  1111. }
  1112. async function getPageData13_data4() {
  1113. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1114. method: 'GET',
  1115. query: {
  1116. 'catid': pageData.value[12].category_id4,
  1117. 'level': 3,
  1118. 'pagesize': 6
  1119. },
  1120. });
  1121. pageData.value[12].data4 = mkdata.data;
  1122. }
  1123. //模块14
  1124. async function getPageData14() {
  1125. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1126. method: 'GET',
  1127. query: {
  1128. 'catid': pageData.value[13].cid,
  1129. 'level': 2,
  1130. 'pagesize': 4
  1131. },
  1132. });
  1133. pageData.value[13].data = mkdata.data;
  1134. }
  1135. async function getPageData14_data2() {
  1136. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1137. method: 'GET',
  1138. query: {
  1139. 'catid': pageData.value[13].cid,
  1140. 'level': 3,
  1141. 'pagesize': 2
  1142. },
  1143. });
  1144. pageData.value[13].data2 = mkdata.data;
  1145. }
  1146. async function getPageData14_data3() {
  1147. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1148. method: 'GET',
  1149. query: {
  1150. 'catid': pageData.value[13].cid,
  1151. 'level': 1,
  1152. 'pagesize': 5
  1153. },
  1154. });
  1155. pageData.value[13].data3 = mkdata.data;
  1156. }
  1157. //3.渲染页面数据 end ---------------------------------------->
  1158. //4.设置seo信息 start---------------------------------------->
  1159. //4.1 设置seo信息
  1160. const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
  1161. method: 'GET',
  1162. query: {
  1163. 'catid': routeId
  1164. },
  1165. });
  1166. if(setData.code == 200){
  1167. let seoTitle = setData.data.seo_title;
  1168. let seoDescription = setData.data.seo_description;
  1169. let seoKeywords = setData.data.seo_keywords;
  1170. let seoSuffix = setData.data.suffix;
  1171. let seoName = setData.data.website_name;
  1172. useSeoMeta({
  1173. title: seoTitle + "_" + seoSuffix,
  1174. meta: [
  1175. { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix },
  1176. { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix }
  1177. ]
  1178. });
  1179. }else{
  1180. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  1181. console.log("错误位置:设置分类页面SEO数据")
  1182. console.log("后端错误反馈:",setData.message)
  1183. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  1184. }
  1185. //4.设置seo信息 end---------------------------------------->
  1186. </script>
  1187. <style lang="less" scoped>
  1188. @import '@/assets/css/class.less';
  1189. </style>